﻿package com.wongoing.sys.viewmodel;

import java.util.Date;

import javax.validation.GroupSequence;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.NotBlank;

import com.wongoing.bus.util.Constants;

/**
 * @author kuangcc
 */
public class SysCustomerViewModel implements java.io.Serializable{
	
	public interface Login {}
	
	public interface SmsLogin {}
	
	public interface SendSmsCode {}
	
	public interface ValidMobile {}
	
	public interface Register {}
	
	public interface ResetPwd {}
	
//	
//	@GroupSequence( { login.class, smsLogin.class, sendSmsCode.class })  
//	public interface Group {  
//	} 
	/**
	 * 功能说明：
	 * 修改说明：
	 * @author 吴兆强
	 * @date 2018年5月7日 下午2:46:39
	 * @version V0.1
	 */
	
	private static final long serialVersionUID = 1L;
	@NotBlank(message="用户名不能为空", groups= { Login.class , Register.class})
	private String userName;
	@NotBlank(message="密码不能为空", groups= { Login.class, Register.class, ResetPwd.class})
	@Pattern(regexp = Constants.REX_PWD,message="密码错误：6-20位，至少包含数字、字母或特殊字符中的两种组合", groups= { Register.class, ResetPwd.class})
	private String userPassword;
	@NotBlank(message="确认密码不能为空", groups= { Register.class, ResetPwd.class })
	@Pattern(regexp = Constants.REX_PWD,message="确认密码错误：6-20位，至少包含数字、字母或特殊字符中的两种组合", groups= { Register.class, ResetPwd.class})
	private String useAgainPassword;
	@NotBlank(message="姓名不能为空", groups= { Register.class })
	private String customerName;
	private String fristName;
	private String lastName;
	private Integer distributorId;
	private String distributorName;
	private Integer companyId;
	private String companyName;
	private String referee;
	@NotBlank(message="昵称不能为空", groups= { Register.class })
	private String nickname;
	@NotBlank(message="请选择性别", groups= { Register.class })
	private String sex;
	private Date birthday;
	@NotBlank(message="手机号不能为空！", groups= { SmsLogin.class, SendSmsCode.class, ValidMobile.class, Register.class, ResetPwd.class})
	@Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message="手机号码格式必须正确", groups= { SmsLogin.class, SendSmsCode.class, ValidMobile.class})
	private String mobile;
	@NotBlank(message="验证码不能为空！", groups= { SmsLogin.class, ValidMobile.class})
	private String smsCode;
	@NotBlank(message="请获取有效的验证码！", groups= { SmsLogin.class, ValidMobile.class })
	private String msgId;
	private String picture;
	private String email;
	private String areaCode;
	private String contactFixed;
	private String extension;
	private String province;
	private String city;
	private String district;
	private String address;
	private String wechatNum;
	private String qqNum;
	private String microBlog;
	private String payAccount;
	private String payPassword;
	private String token;
	private String openId;
	private boolean weChatFlag;

	public boolean isWeChatFlag() {
		return weChatFlag;
	}
	public void setWeChatFlag(boolean weChatFlag) {
		this.weChatFlag = weChatFlag;
	}
	public String getOpenId() {
		return openId;
	}
	public void setOpenId(String openId) {
		this.openId = openId;
	}
	public String getUseAgainPassword() {
		return useAgainPassword;
	}
	public void setUseAgainPassword(String useAgainPassword) {
		this.useAgainPassword = useAgainPassword;
	}
	public String getSmsCode() {
		return smsCode;
	}
	public void setSmsCode(String smsCode) {
		this.smsCode = smsCode;
	}
	public String getMsgId() {
		return msgId;
	}
	public void setMsgId(String msgId) {
		this.msgId = msgId;
	}
	public String getToken() {
		return token;
	}
	public void setToken(String token) {
		this.token = token;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPassword() {
		return userPassword;
	}
	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}
	public String getCustomerName() {
		return customerName;
	}
	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}
	public String getFristName() {
		return fristName;
	}
	public void setFristName(String fristName) {
		this.fristName = fristName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public Integer getDistributorId() {
		return distributorId;
	}
	public void setDistributorId(Integer distributorId) {
		this.distributorId = distributorId;
	}
	public String getDistributorName() {
		return distributorName;
	}
	public void setDistributorName(String distributorName) {
		this.distributorName = distributorName;
	}
	public Integer getCompanyId() {
		return companyId;
	}
	public void setCompanyId(Integer companyId) {
		this.companyId = companyId;
	}
	public String getCompanyName() {
		return companyName;
	}
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	public String getReferee() {
		return referee;
	}
	public void setReferee(String referee) {
		this.referee = referee;
	}
	public String getNickname() {
		return nickname;
	}
	public void setNickname(String nickname) {
		this.nickname = nickname;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public String getPicture() {
		return picture;
	}
	public void setPicture(String picture) {
		this.picture = picture;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getAreaCode() {
		return areaCode;
	}
	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}
	public String getContactFixed() {
		return contactFixed;
	}
	public void setContactFixed(String contactFixed) {
		this.contactFixed = contactFixed;
	}
	public String getExtension() {
		return extension;
	}
	public void setExtension(String extension) {
		this.extension = extension;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getDistrict() {
		return district;
	}
	public void setDistrict(String district) {
		this.district = district;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getWechatNum() {
		return wechatNum;
	}
	public void setWechatNum(String wechatNum) {
		this.wechatNum = wechatNum;
	}
	public String getQqNum() {
		return qqNum;
	}
	public void setQqNum(String qqNum) {
		this.qqNum = qqNum;
	}
	public String getMicroBlog() {
		return microBlog;
	}
	public void setMicroBlog(String microBlog) {
		this.microBlog = microBlog;
	}
	public String getPayAccount() {
		return payAccount;
	}
	public void setPayAccount(String payAccount) {
		this.payAccount = payAccount;
	}
	public String getPayPassword() {
		return payPassword;
	}
	public void setPayPassword(String payPassword) {
		this.payPassword = payPassword;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}


}
